/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package com.lostreseditores.persistencia;

import com.lostreseditores.modelo.Respuestasexamen;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

/**
 *
 * @author DILOVE
 */
@Stateless
public class RespuestasexamenFacade extends AbstractFacade<Respuestasexamen> implements RespuestasexamenFacadeLocal {
    @PersistenceContext(unitName = "DemoDianaPU")
    private EntityManager em;

    @Override
    protected EntityManager getEntityManager() {
        return em;
    }

    public RespuestasexamenFacade() {
        super(Respuestasexamen.class);
    }

    @Override
    public List<Respuestasexamen> findxSesion(Integer examen, Integer sesion) {
        String consulta = "select r from Respuestasexamen r, Pregunta p, Examenpreguntas e where e.sesion="+sesion+" and e.examen.idExamen = "+examen+" and r.pregunta.idPregunta=p.idPregunta and p.idPregunta=e.nropregunta";
        Query query = em.createQuery(consulta);
        return query.getResultList();
    }

    @Override
    public String respuestaPregunta(Integer examen, Integer sesion, Integer idEstudiante, Integer nroPregunta) {
        String res = "";
        try{
        String consulta = "select r.valorrespexamen from Respuestasexamen r where r.respuestasexamenPK.idEstudiante="+idEstudiante+" and r.pregunta.idPregunta IN(" +
"select e.examenpreguntasPK.idPregunta from Examenpreguntas e where e.sesion="+sesion+" and e.examen.idExamen = "+examen+" and e.nropregunta="+nroPregunta+")";
        System.out.println("Consulta "+consulta);
        Query query = em.createQuery(consulta);
        res = (String)  query.getSingleResult();
            System.out.println("Respuesta "+res);
        }catch(NoResultException nre){
            return "*";
        }
        return res;
    }
    
}
